home *** CD-ROM | disk | FTP | other *** search
/ Amiga Collections: Memphis Amiga Group / MAG DOS 2.0 Utilities Disk 09 (1992-05)(Memphis Amiga Group).zip / MAG DOS 2.0 Utilities Disk 09 (1992-05)(Memphis Amiga Group).adf / Set040 / Set040.doc < prev    next >
Text File  |  1992-03-12  |  28KB  |  522 lines

  1.  
  2. PROGRAM  
  3.                 Set040
  4.                                 
  5. SOURCE          Written in 100% assembler using Macro68
  6.  
  7. FUNCTION 
  8.                 1. To remap Kickstart V2.04 or greater from ROM into 
  9.                    FAST RAM on an Amiga equipped with a 68040 CPU, using 
  10.                    the MMU, with optional parameters for greater 
  11.                    compatibility between various 68040 boards.
  12.                    An optional switch allows it to patch the Kickstart
  13.                    to stop drives from clicking.  This patch will work
  14.                    on any version, including future versions, as it
  15.                    searches the trackdisk.device for the required 
  16.                    instruction and changes this instructon before 
  17.                    installing the remap.
  18.                 
  19.                 2. To allow this FASTROM remap to be removed and
  20.                    all resources reclaimed.
  21.                    
  22.                 3. To load a different Kickstart than the one currently
  23.                    in ROM, and use the MMU to boot into this Kickstart.   
  24.                       
  25.                 4. To manipulate both caches in the 68040 and the 
  26.                    two Data Cache modes.
  27.                    
  28.                 5. To display certain information regarding the
  29.                    setting of some 68040 registers and modes.
  30.                    
  31.                 6. To switch between the 68040 and 68030 on a Progressive
  32.                    Peripherals & Software 68040 card in an Amiga A3000-25MHZ   
  33.                    
  34. ACKNOWLEDGEMENTS
  35.  
  36.                 Thank you to Dave Haynie and Michael Sinz for their answers
  37.                 to my questions regarding the 68040 many times over EMAIL.
  38.         
  39.                 Thank you to Sean Moore at Progressive and Peripherals and
  40.                 Software for the 'special deal' on the 68040 card in return 
  41.                 for distribution of my Sysinfo Program. 
  42.         
  43.                 Thank you to my friend Paul Coward (Digisoft) for a brilliant 
  44.                 assembler, Macro68 V3.xxx. 
  45.         
  46.                 Thank you to Fred Fish for his continuing work in distribution
  47.                 of our programs.  Without him, distribution would be much more
  48.                 difficult.
  49.  
  50. DOCUMENT FILE   The spelling in this document file is in Australian.
  51.                 Spelling in some Countries may vary, but this document
  52.                 is correct.
  53.                 
  54. AUTHOR          Nic Wilson
  55.                 Nic Wilson Software
  56.                 138d South Street
  57.                 TOOWOOMBA QUEENSLAND 4350
  58.                 Australia
  59.                                 
  60.                 EMAIL cbmvax!cbmaus!wilson!nic@uunet.uu.net
  61.                  
  62.                   or  cbmehq!cbmaus!wilson!nic@cbmvax.commodore.com
  63.                   
  64.                 TELEPHONE +61 76 358539 After Hours Australian Time
  65.                           +61 76 358384 Work  Hours Australian Time
  66.                 FAX       Same as Work Telephone 
  67.                             
  68. COPYRIGHT       This program, and its source code & document files are 
  69.                 Copyright (C) Nic Wilson Software 1991-1992.
  70.                 
  71. DISTRIBUTION    The program is Shareware and may be freely distributed
  72.                 on the condition that no profit is gained from this
  73.                 distribution either directly or indirectly.  A small
  74.                 copying fee, no more than the cost of 2 (two) average
  75.                 3.5 inch blank disks, (including the supplied disk).
  76.                 
  77.                 Crunching of the executable file is considered a breach
  78.                 of this agreement, due to the fact all current crunchers
  79.                 I have tested fail on the 68040 processor.  Archival
  80.                 in the form of 'lharc' type programs is permitted.  
  81.                                 
  82.                 Commercial companies may distribute this program as
  83.                 a part of a disk of utilities supplied with their
  84.                 68040 boards without permission, on the condition that
  85.                 I am notified of your intention to distribute, and
  86.                 all documents files are included on disk or printed form
  87.                 exactly as written here.  
  88.  
  89. EXCEPTIONS      Progressive Peripherals & Software are exempt from
  90.                 the above distribution conditions.
  91.                                 
  92.                 Fred Fish is exempt from the above distribution
  93.                 conditions.
  94.                 
  95. ARCHIVE         The following files are included in the Set040 archive.
  96.                 
  97.                 Set040        - executable
  98.                 Set040.doc    - document file
  99.                 MMUSR         - executable
  100.                 MMUSR.doc     - document file
  101.                 kickspeed     - executable
  102.                 kickspeed.doc - document file
  103.                 AddMem        - executable 
  104.  
  105. DONATIONS       All donations in the form of cash, money order,
  106.                 travellers cheques, bank draft (in AUS dollars),
  107.                 goods, software or hardware will be gratefully accepted,
  108.                 and ensure further shareware programs from me.
  109.                 Overseas users, please do not send personal cheques.  
  110.                 It is very difficult to convert them into cash.
  111.                 
  112.                 I give my sincere thanks to all those users who
  113.                 have donated to my work in the past.  It is with
  114.                 your continuing support to all programmers that the 
  115.                 Amiga has such a vast amount of quality shareware 
  116.                 programs available, and that I am able to continue 
  117.                 work on shareware programs aswell as commercial ones.   
  118.  
  119. REQUIREMENTS
  120.                 Depending on the function the requirements are different 
  121.                 and are as follows:
  122.                 
  123. FASTROM install - AmigaDOS V2.04 or greater, 68040 CPU, 1MB FAST RAM or more
  124. KICKROM install - AmigaDOS V2,04 or greater, 68040 CPU, 1MB CHIP RAM minimum
  125. CHIP to FASTROM - AmigaDOS V1.2  or greater, 68040 CPU, 1MB FAST RAM or more
  126. 68040 <-> 68030 - AmigaDOS V2.04 or greater, A3000 with PP&S 68040 board
  127.                 
  128. OTHER INFO
  129.                 This program was written and tested on an Amiga
  130.                 A3000 with a Progressive Peripherals & Software
  131.                 68040 card.  This is the only card it has been
  132.                 tested on.  If it works on your card please let
  133.                 me know, if it doesn't let me know too and maybe
  134.                 we can rectify it for other 68040 cards.  See below
  135.                 for more information on this.
  136.                                 
  137.                 
  138. USAGE           Set040 <switch>
  139.  
  140.                 If no switch is supplied, Set040 will display information
  141.                 on cache settings, etc., unless Set040 finds a 'KICKROM'
  142.                 installation.  In this case it will perform the 'KICKROM'
  143.                 to 'FASTROM' change before displaying the information.
  144.                 Because some switch arguments use upper case characters, 
  145.                 the entire switch and argument characters are case sensitive 
  146.                 and must be entered as shown here.  
  147.                 
  148.                 Only one '-' switch is allowed.  Any others will be ignored.
  149.                 The '-f' switch allows multiple arguments (EG. -fzwi).
  150.                 The '-k' takes one argument for path/filename.
  151.                 The '-c' switch allows multiple arguments (EG. -cIDc).
  152.                 The '-r' switch takes no arguments.            
  153.                 The '-s' switch takes no arguments.
  154.                         
  155.    ?        = Displays a 'USAGE' string on the current CLI.
  156.    
  157.    **************
  158.    FASTROM OPTION
  159.    **************
  160.           
  161.    -f<args> = Install FASTROM remap with optional parameters
  162.               With no further arguments, -f will install a FASTROM 
  163.               remap, disable caching of ZorroII memory space.
  164.               Mother board space & ZorroIII memory area will be set 
  165.               as Copyback cachable.  Both the data and instruction caches 
  166.               will be enabled.  Workbench screen title will be changed 
  167.               to "Amiga Fastbench".
  168.               
  169.               The FASTROM option is best placed in your startup-sequence
  170.               so that the boot process can gain from the extra speed of
  171.               Kickstart in ram.  I recommend placing it as the very first
  172.               line of the startup-sequence. 
  173.   
  174.   <args>
  175.   
  176.    z        = Allow caching of ZorroII memory ($200000 - $A00000).
  177.               Only give this argument if you have nothing but memory 
  178.               between these addresses.  If you are not sure, you can 
  179.               use my SysInfo program to find out.
  180.    
  181.    w        = Set addresses $1000000 - $3FFFFFF as WriteThrough 
  182.               (SEE NOTES).
  183.               
  184.    c        = Set addresses $4000000 - $FFFFFFF as WriteThrough 
  185.               (SEE NOTES).
  186.    
  187.    d        = Do not enable data cache. 
  188.    i        = Do not enable instruction cache. 
  189.    
  190.               These two may be required for special cases or if you normally
  191.               operate with one or more of your caches disabled.
  192.               
  193.    n        = Install patch to stop floppy drives clicking.
  194.    
  195.    t        = Do not change the Workbench screen title.
  196.               By default it will change it to "Amiga Fastbench"
  197.               as an obvious sign that FASTROM is installed. 
  198.               This argument will overide this and leave the title unchanged. 
  199.               
  200.    EXAMPLE
  201.    -------    To install FASTROM and Click free drives -> Set040 -fn              
  202.                     
  203.    **************
  204.    KICKROM OPTION
  205.    **************
  206.    
  207.   -k <path> = Install and boot different Kickstart than the one currently 
  208.               in ROM
  209.         
  210.   <path>    = Full path and filename to a Kickstart file, or, if using
  211.               a Kickstart disk, <path> must be a floppy drive (eg. DF0:)
  212.               
  213.               The Kickstart file can be a 256K file (1.2 or 1.3) or a
  214.               512k file (2.0x) as saved by the "Update2.x" or "Update1.3"
  215.               program supplied with your A3000.
  216.               
  217.               The Kickstart disk can be either a standard A1000 Kickstart
  218.               or an A3000 SuperKickstart disk.  If a SuperKickstart is used
  219.               a requester window will open and prompt you for the Kickstart
  220.               version you require.  These choices will be "V1.3" or "V2.0".
  221.               If the drive you specified does not have a disk in it, you will
  222.               be prompted for a disk with a requester.
  223.                
  224.               This function requires an Amiga with at least 1MB of chip memory 
  225.               for it to work.  It will attempt to allocate around 576k of
  226.               memory within the chip memory area as high as possible.  The
  227.               allocated chip memory from this allocated block to the end of
  228.               the next one megabyte boundary will be hidden from exec after
  229.               the reboot.  When Set040 is run again and the CHIPROM to FASTROM
  230.               conversion is done, this hidden memory will be added to the free
  231.               pool.  If your chip memory usage is large, Set040 may not be able 
  232.               to obtain the required memory.  If this happens I suggest closing 
  233.               as many programs as possible or re-booting with a minimum set-up 
  234.               so that Set040 can allocate the ram it requires.  
  235.               
  236.               Even though we are about to re-boot, into a new kickstart, Set040
  237.               will NOT just take the ram required, as this may cause an 
  238.               exception.  If the memory allocated, falls within the first 
  239.               megabyte on an Amiga with two megabytes of chip ram, the second 
  240.               megabyte will be lost completely unless added in with the 'addmem'
  241.               command.  This should not happen under normal circumstances, as 
  242.               Exec normally allocates memory from lower addresses first.  This 
  243.               means that the memory allocated by Set040 should always fall within
  244.               the highest one megabyte block.  
  245.               
  246.               A brief message will appear, informing you that the new kickstart
  247.               is being patched to prevent the MMU from being disabled.  
  248.               After a short delay the new Kickstart will be booted.  During this 
  249.               delay the power light will flash rapidly to let you know this 
  250.               function is operating successfully.
  251.               
  252. KICKSTART              
  253. 1.2 - 1.3     If the new Kickstart is 1.2 or 1.3,  only the remaining chip 
  254.               memory will be available after booting.  Any FASTRAM on the A3000 
  255.               mother board will not be available.  This memory must be added to 
  256.               the system with the supplied "addmem" command.  It has been done
  257.               this way incase the fast memory is not required for some reason.
  258.               The usage for the 'addmem' command for different memory sizes is 
  259.               shown below.  When the FASTRAM has been added, you may run Set040 
  260.               again with no arguments.  Set040 will recognise that the set-up 
  261.               is a CHIPRAM set-up and will move it to FASTRAM if there is 
  262.               sufficient available.  The amount of CHIPRAM that was previously 
  263.               hidden will be added to the free pool.
  264.               
  265.               AddMem usage for A3000 32bit wide fast ram are as follows:
  266.  
  267.               A3000 4MB  32 bit ram = AddMem 7C00000 7FFFFFF
  268.               A3000 8MB  32 bit ram = AddMem 7800000 7FFFFFF
  269.               A3000 12MB 32 bit ram = AddMem 7400000 7FFFFFF
  270.               A3000 16MB 32 bit ram = AddMem 7000000 7FFFFFF
  271.               
  272. KICKSTART
  273.   2.0x
  274.               If the new Kickstart is 2.0x (V37+)your FASTRAM will still be 
  275.               available and your hard disk would have booted.  The addmem 
  276.               command will not be required.  This set-up will still be in 
  277.               CHIPRAM though, and can be automatically moved to fast memory 
  278.               by running Set040 again without any arguments.  This is the
  279.               information only mode of Set040 but will recognise the Chip 
  280.               setup and move it and the MMU set-up to FASTRAM, then replace 
  281.               the previously hidden chip memory.  
  282.               
  283.    EXAMPLE
  284.    -------    To install a KICKROM setup from a file called "KICK" in "DEVS:"
  285.                 
  286.               Set040 -k devs:kick
  287.               
  288.               To install a kickrom option from a kickstart disk in df1:
  289.               
  290.               Set040 -k df1:
  291.         
  292.               
  293.         NOTE: ONCE THIS KICKSTART IS INSTALLED IT CANNOT BE REMOVED WITH THE 
  294.               '-r' FUNCTION. ANY ATTEMPT TO DO SO WILL GIVE AN ERROR.  IF YOU
  295.               WISH TO RETURN TO YOUR ROM BASED KICKSTART, ALL THE IS REQUIRED 
  296.               IS A HARDWARE RESET.  (THERFORE THE KICKROM SETUP WILL NOT 
  297.               SURVIVE A HARDWARE RESET).  
  298.               
  299.               FOR COMPATIBILITY REASONS, WHEN THE CHIPRAM to FASTRAM CHANGE
  300.               IS PERFORMED, THE DATA CACHE WILL ONLY BE ENABLED FOR V2.0X
  301.               KICKSTARTS, AND WILL BE DISABLED FOR OTHER KICKSTARTS.  IF YOU
  302.               WISH TO CHANGE THIS, OR MANIPULATE THE OTHER CACHES, USE THE
  303.               '-c' SWITCH OPTIONS.
  304.               
  305.    ******************
  306.    CACHE MANIPULATION
  307.    ******************           
  308.               
  309.    -c<args> = Manipulate caches as per arguments.
  310.                     
  311.   <args> 
  312.  
  313.    I        = Enable  Instruction cache.
  314.    i        = Disable Instruction cache.
  315.    D        = Enable  Data cache.
  316.    d        = Disable Data cache.
  317.    B        = Enable  both caches.
  318.    b        = Disable both caches.
  319.    C        = Enable  Copyback for $4000000 - $FFFFFFF.
  320.    c        = Disable Copyback for $4000000 - $FFFFFFF.
  321.                               
  322.               NOTE: Enabling instruction and data caches with -cID 
  323.                     is exactly the same as using -cB.  Likewise
  324.                     use -cb to disable both caches.  It has been
  325.                     done this way so that each cache can be manipulated
  326.                     seperately or manipulated together easily.
  327.                     
  328.    EXAMPLES
  329.    -------- Disable both caches - Set040 -cb
  330.             Enable  both caches - Set040 -cB
  331.             Disable Data Cache  - Set040 -cd
  332.             Enable  Data Cache  - Set040 -cD
  333.             Enable  Ins & Data Caches and disable Copyback - Set040 -cIDc                           
  334.             Enable  Ins & Data Caches and disable Copyback - Set040 -cBc
  335.             ETC...
  336.             
  337.    ****************
  338.    REMOVING FASTROM
  339.    ****************                  
  340.                               
  341.    -r       = Remove the FASTROM remap and reclaim all resources.
  342.    
  343.    NOTE     This function is not possible on a KICKROM setup.
  344.                 
  345.    *************
  346.    CPU SWITCHING
  347.    *************             
  348.                 
  349.    -s       = Switch between the 68040 and 68030 and vice-versa on a 
  350.               PP&S 68040 card in an Amiga A3000-25MHZ.  The program 
  351.               automatically knows the current CPU and will prompt to 
  352.               switch to the opposite one.              
  353.                                
  354.    NOTE ON -s 
  355.                 This is the only switch that is permitted on a 
  356.                 68030 CPU.  All other switches will display an 
  357.                 error.  When this switch is given, a requester 
  358.                 will open and will prompt you to either 'CHANGE'
  359.                 or 'ABORT' via two gadgets.  If aborted, no 
  360.                 further action takes place and the program will
  361.                 exit.  If 'CHANGE' is selected, another requester
  362.                 will open and prompt you to reboot the computer.
  363.                 This requester will have a single 'ABORT' gadget,
  364.                 giving you a final chance to abort.  The actual 
  365.                 reboot must be done by hand, using the keyboard
  366.                 because the PP&S 68040 card requires a hardware 
  367.                 reset to switch modes.  This cannot be generated 
  368.                 with software.  (NO, the reset instruction will
  369.                 not work!) :-( 
  370.                               
  371. IMPROVEMENTS
  372.                 All suggestions will be carefully considered.
  373.                 All bugs will be rectified A.S.A.P.
  374.                 I will attempt to overcome all incompatibilities 
  375.                 if sufficient information on your particular board
  376.                 is supplied ie. amount of onboard ram, address of such
  377.                 ram, A3000 or A2000 board, full description of other
  378.                 hardware you use, full description of any plug in cards,
  379.                 full description of your Amiga, OS version numbers etc!!
  380.                 
  381. TECHNICAL NOTES
  382.                 The average user may not completely understand the following
  383.                 notes, suffice to say an understanding of how this program
  384.                 works is not required.  Information given here is mainly
  385.                 for the benefit of the experienced user or programmer.
  386.                 These notes may be of some help if you experience problems
  387.                 with certain 68040 cards.
  388.  
  389.                 I wrote this program for a few reasons.  To gain knowledge 
  390.                 in programming the 68040 processor in assembler and to 
  391.                 discover the differences from its older brothers.  I wanted to 
  392.                 test Macro68 assembler in 68040 instructions.  When I ran a 
  393.                 test of the difference in speed between reading the ROMS and 
  394.                 reading FAST RAM, I realized an assembler 68040 MMU program 
  395.                 was a necessity.  I found that while reading the ROMS the 
  396.                 68040 was only marginally faster than the 68030, yet in FAST 
  397.                 RAM the 68040 leaves the 68030 standing.
  398.                 
  399.                 The MMU set-up remaps the kickstart ROMS to FAST RAM, and 
  400.                 allows for instruction caching of the address areas the
  401.                 same as for the data areas mentioned below.  This set-up
  402.                 protects the new kickstart by marking this area of memory 
  403.                 as write-protected in the ATC table entries. 
  404.                 
  405.                 Re-mapping kickstart to FAST RAM poses a few problems because
  406.                 of the design of the 68040 MMU.  Most of the first 16MB of the 
  407.                 Amiga memory map must be set for non-cachable serialized.  The 
  408.                 rest of the 4 Gigabyte space can be set for cachable copyback,
  409.                 but because of limitations of the 68040 MMU, programming this 
  410.                 is not easy.  The standard PP&S set-up manages this by using 
  411.                 both of the Data Transparent Translation registers.  This works 
  412.                 fine but does not allow for re-mapping of the kickstart.  The 
  413.                 68040 MMU looks at Transparent Translation registers first, and 
  414.                 if an address matches, the ATC tables are not accessed. 
  415.                 Therefore a remap of the kickstart would not be seen if we 
  416.                 used the same values in the transparent registers as PP&S, or
  417.                 Commodore uses. 
  418.                 
  419.                 The 68040 has a simple 3 level ATC table and page sizes of either
  420.                 4k or 8k.  Our set-up discussed here uses the 8k page size.
  421.                 If the ATC is used, each entry in the first table covers 32MB.  
  422.                 This means that we must at least have entries in this table 
  423.                 for that address space.  If we want this entire 32MB to be valid
  424.                 we must have complete entries in the second and third tables to 
  425.                 cater for it.  This is not a large problem but does use around 
  426.                 17k of memory for each 32MB space covered in the table.  The 
  427.                 problem is enhanced due to the fact the 68040 does not support 
  428.                 'early termination descriptors' as the 68030 did. 
  429.                 
  430.                 The next problem exists because, two of each data and instruction
  431.                 transparent translation registers are not enough to control the 
  432.                 rest of the space.  We could put all entries in the ATC tables, 
  433.                 but this would mean rather large tables and make it difficult to 
  434.                 control the copyback mode over a large area.  This would also mean
  435.                 that the CPU040 program from PP&S, and possibly many more 68040 
  436.                 copyback manipulation programs would not be compatible.
  437.                  
  438.                 The set-up I have opted for, is to insert entire entries for the 
  439.                 first 64MB of space.  The first 16MB is set in the tables as
  440.                 non-cachable serialized.  Copyback mode for the second, third
  441.                 and fourth 16MB spaces can be conrolled globally between copyback
  442.                 or writethrough at installation time by command line arguments.  
  443.                 The address of this entire 48MB space is $1000000 - $3FFFFFF.
  444.                 
  445.                 The next 64MB address space ($4000000 - $7FFFFFF) is controlled
  446.                 by one each of the two data and instruction transparent 
  447.                 translation registers for the data and instruction spaces
  448.                 respectively.  The data registers are set for cachable copyback
  449.                 unless the 'w' argument of the '-f' switch is used at 
  450.                 installation.  This can be changed after installation with the 
  451.                 '-c<args>' switch.  The instruction registers are set for 
  452.                 cachable.
  453.                 
  454.                 The above caters for the first 16MB and the area defined as 
  455.                 'A3000 mother board space'.  Above this area we have a 128MB 
  456.                 space which is defined as "ZorroIII 32 bit memory expansion 
  457.                 area".  This is controlled by the second data and instruction
  458.                 transparent translation registers and can be optionally
  459.                 switched between copyback or writethrough after installation
  460.                 by command line arguments.  This area will default to copyback 
  461.                 at installation unless '-fc' command line argument is given.
  462.                 
  463.                 All these ATC entries except for the kickstart remap entries
  464.                 actually get transparently translated.  The 68040 users guide
  465.                 states that if the physical address equals the logical address
  466.                 in a page entry, then that entry is transparently translated.
  467.                 Transparent translation means that there is no CPU overhead
  468.                 to do the translation.  The kickstart remap routine makes use
  469.                 of the new 'MOVE16' instruction to copy the ROM into ram.  
  470.                 This allows a very fast copy and saves having to call kickstart
  471.                 routines to flush the caches after the copy.  A program of this
  472.                 kind written in C (with current C compilers) would have to use 
  473.                 CopyMemQuick function call and then flush the caches, and this
  474.                 would be much slower, whereas my routine is instantaneous.
  475.                 
  476.                 When programming this set-up I attempted to keep it as compatible
  477.                 with the standard set-up from PP&S as possible.  This allows 
  478.                 their CPU040 program to still be used to manipulate the copyback 
  479.                 mode.  I tried also to keep it compatible with my own CPUSet 
  480.                 program that I released at an earlier date.  In doing this it I 
  481.                 had to compromise the set-up even further than I would have 
  482.                 normally done. 
  483.                 
  484.                 The PP&S CPU040 program ,my CPUSet program and Commdore's new
  485.                 CPU program will only be able to switch copyback address areas 
  486.                 that are controlled by the DTT1 register.  This allows them to 
  487.                 control memory addresses in the range of $4000000 - $7FFFFFF.  
  488.                 This area covers the entire motherboard fast memory in the A3000.
  489.                 The '-c<args> options have much greater control over all areas.
  490.                 
  491.                 The rest of the map has been set as invalid.  The set-up I 
  492.                 have opted for should allow for the greatest compatibility 
  493.                 between different 68040 cards.  I will change this set-up or 
  494.                 supply more options in future versions if necessary.  
  495.                 
  496.                 ZorroIII memory boards which are addressed within the range
  497.                 of $8000000 - $FFFFFFF should work as this is the area that has 
  498.                 been assigned for such memory boards.  Other ZorroIII boards that
  499.                 are addressed above this area will not work with the current 
  500.                 set-up.  I have no knowledge of such cards available at the
  501.                 time of writing.
  502.                 
  503.                 
  504.                                  
  505. TRADEMARKS 
  506.                
  507.         AmigaDOS, Amiga and Kickstart are trademarks of Commodore Amiga Inc.
  508.         PP&S is an abbreviation for Progressive Peripherals and Software.
  509.         MC68030, MC68040 and Motorola are trademarks of Motorola Inc.               
  510.                 
  511. REFERENCES
  512.                 
  513.         M68000PM/AD  Programmers Reference Manual (inc. CPU32)
  514.         Published by Motorola Literature Distribution USA.
  515.         M68000UM/AD  8-/16-/32-Bit MicroProcessor User's Manual Eigth Edition.
  516.         Published by PRENTICE HALL, Englewood Cliffs, N.J. 07632
  517.         MC68040UM/AD 32-Bit MicroProcessor User's Manual
  518.         Published by Motorola Literature Distribution USA.
  519.         MC68030UM/AD 32-Bit MicroProcessor User's Manual
  520.         Published by Motorola Literature Distribution USA.
  521.                 
  522.